home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Source / GNU / emacs / etc / wakeup.c < prev    next >
C/C++ Source or Header  |  1991-07-30  |  656b  |  38 lines

  1. /* Program to produce output at regular intervals.  */
  2.  
  3. #include <stdio.h>
  4. #include <time.h>
  5.  
  6. struct tm *localtime ();
  7.  
  8. main (argc, argv)
  9.      int argc;
  10.      char **argv;
  11. {
  12.   int period = 60;
  13.   long when;
  14.   struct tm *tp;
  15.  
  16.   if (argc > 1)
  17.     period = atoi (argv[1]);
  18.  
  19.   while (1)
  20.     {
  21.       /* Make sure wakeup stops when Emacs goes away.  */
  22.       if (getppid () == 1)
  23.     exit (0);
  24.       printf ("Wake up!\n");
  25.       fflush (stdout);
  26.       /* If using a period of 60, produce the output when the minute
  27.      changes. */
  28.       if (period == 60)
  29.     {
  30.       time (&when);
  31.       tp = localtime (&when);
  32.       sleep (60 - tp->tm_sec);
  33.     }
  34.       else
  35.     sleep (period);
  36.     }
  37. }
  38.